100 hires 6,1:a=8:s_block 20,20,300,180,1
110 FOR x=-7 TO 7
120  FOR y=-4 TO 4
130   v=1-2*((x && 1)+(y && 1) && 1)
140   r=SQRT(x*x+y*y)
150   s_block 159+20*x-a-v*r,99-20*y-a+v*r,160+20*x+a+v*r,100-20*y+a-v*r,0
160  END FOR y
170 END FOR x
180 :
10000 DEFine PROCedure s_block(x1%,y1%,x2%,y2%,z%)
10010  LOCal wl%,hl%,xl%,yl%,sk:sk=1.35
10020  IF x2%<x1% OR y2%<y1% THEN RETurn 
10030  IF x1%>=320 OR y1%>200 THEN RETurn 
10040  xl%=sk*x1%:yl%=y1%
10050  IF x2%<320 THEN 
10060   wl%=INT(sk*(x2%-x1%)+.5)
10070   ELSE :wl%=INT(sk*(320-x1%)+.5):END IF 
10080  IF y2%<200:hl%=y2%-y1%:ELSE :hl%=200-y1%:END IF 
10090  BLOCK wl%,hl%,xl%,yl%,f_vari((z%))
10100 END DEFine s_block
10110 :
15000 DEFine PROCedure hires(etu%,taus%)
15010  MODE 8
15020  etuvari%=etu%:taustavari%=taus%
15030  WINDOW 512,256,0,0:PAPER 1:CLS
15040  WINDOW 430,200,41,16
15050  PAPER f_varikoodi((taus%)):CLS
15060  INK f_varikoodi((etu%))
15070  SCALE 200,0,0
15080 END DEFine hires
15090 :
15100 DEFine FuNction f_varikoodi(vari%)
15110  LOCal varil:varil=vari%
15120  SELect ON varil
15130   = 0:RETurn 0  :REMark black
15140   = 1:RETurn 7  :REMark white
15150   = 2:RETurn 2  :REMark red
15160   = 3:RETurn 5  :REMark cyan
15170   = 4:RETurn 202:REMark purple
15180   = 5:RETurn 4  :REMark green
15190   = 6:RETurn 1  :REMark blue
15200   = 7:RETurn 6  :REMark yellow
15210   = 8:RETurn 226:REMark orange
15220   = 9:RETurn 208:REMark brown
15230   =10:RETurn 234:REMark light red
15240   =11:RETurn 250:REMark grey 1
15250   =12:RETurn 248:REMark grey 2
15260   =13:RETurn 220:REMark light green
15270   =14:RETurn 5:REMark light blue
15280   =15:RETurn 206:REMark grey 3
15290   =REMAINDER :RETurn 0
15300  END SELect 
15310 END DEFine f_varikoodi
15320 :
15330 DEFine FuNction f_vari(tapa%)
15340  LOCal tapal:tapal=tapa%
15350  SELect ON tapal
15360   =0:RETurn f_varikoodi((taustavari%))
15370   =1:RETurn f_varikoodi((etuvari%))
15380   =REMAINDER :RETurn f_varikoodi((etuvari%))
15390  END SELect 
15400 END DEFine f_vari
15410 :
31000 DEFine PROCedure reset(i)
31010  LOCal il:MODE i
31020  WINDOW 513,256,0,0:PAPER 0:CLS
31030  OPEN#2,con_:WINDOW#2,448,200,32,16
31040  PAPER#2,1:INK#2,7
31050  WINDOW#0,448,40-(i=4),32,216+(i=4)
31060  WINDOW 448+8*(i=4),200+2*(i=4),32-4*(i=4),16-(i=4)
31070  PAPER 2*(i=8):BORDER (i=4),4*(i=4)
31080  FOR il=0,1,2:CSIZE#il,(i=4)+2*(i=8),0:END FOR il
31090  PAPER#0,0:INK#0,7-3*(i=0):INK 7:CLS
31100  SCALE 100,0,0:FILL 0
31110 END DEFine reset
